﻿using MediatR;
using SmartProduction.Domain.ProductionOrders;
using SmartProduction.ErrorCode;

namespace SmartProduction.Write.API.Application.Commands.ProductionOrdersCommand
{
    /// <summary>
    /// 生产工单添加命令处理
    /// </summary>
    public class ProductionOrdersCreateCommand : IRequest<APIResult<object>>
    {




        /// <summary>
        /// 工单编码
        /// </summary>
        public string WorkOrderNo { get; set; }

        /// <summary>
        /// 工单名称
        /// </summary>
        public string WorkOrderName { get; set; }
        /// <summary>
        /// 关联生产单号
        /// </summary>
        public string EnterProductionOrderNo { get; set; }
        /// <summary>
        /// 销售订单
        /// </summary>
        public string SalesOrder { get; set; }
        /// <summary>
        /// 关联项目
        /// </summary>
        public string AssociatedProject { get; set; }
        /// <summary>
        /// 工单日期
        /// </summary>
        public DateTime WorkOrderDate { get; set; }
        /// <summary>
        /// 负责人
        /// </summary>
        public string PersoninCharge { get; set; }
        /// <summary>
        /// 所属部门
        /// </summary>
        public string Department { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        public string? Attachment { get; set; }


        /// <summary>
        /// 物品名称
        /// </summary>
        public string SelectProducedItem { get; set; }
        /// <summary>
        /// 物品编号
        /// </summary>
        public string EnterItemNo { get; set; }
        /// <summary>
        /// 规格型号
        /// </summary>
        public string EnterSpecificationModel { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        public string EnterUnit { get; set; }
        /// <summary>
        /// 物品类别
        /// </summary>
        public string EnterItemCategory { get; set; }
        /// <summary>
        /// 物品分类
        /// </summary>
        public string EnterItemClassification { get; set; }
        /// <summary>
        /// 计划开始时间
        /// </summary>
        public DateTime SelectPlannedStartTime { get; set; }
        /// <summary>
        /// 计划结束时间
        /// </summary>
        public DateTime SelectPlannedEndTime { get; set; }
        /// <summary>
        /// 计划产量
        /// </summary>
        public string EnterPlannedOutput { get; set; }



        public List<Processflow> processflow { get; set; }

    }
}
